﻿using System;
using System.Collections.Generic;
using System.Text;

namespace C4F.DevKit.Bluetooth
{
    namespace FileTransferProfile
    {
        /// <summary>
        /// EventArgs class to be used when an CreateFolder operation begins.
        /// </summary>
        public class CreateFolderBeginEventArgs : EventArgs
        {
            #region Private Members

            /// <summary>
            /// The Location of the folder to be created on remote device.
            /// </summary>
            private string remFolderPath;

            /// <summary>
            /// Flag indicating whether non-exisitng parent directories are 
            /// created.
            /// </summary>
            private bool createParentDirectories;

            /// <summary>
            /// The user-supplied state object supplied when the asynchronous 
            /// operation was requested.
            /// </summary>
            private object userState;

            #endregion

            #region Public Properties

            /// <summary>
            /// Gets the location of the folder to be created on remote device.
            /// </summary>
            public string RemoteFolderPath
            {
                get
                { return this.remFolderPath; }
            }

            /// <summary>
            /// Gets the flag indicating whether non-exisitng parent 
            /// directories are created.
            /// </summary>
            public bool CreateParentDirectories
            {
                get
                { return this.createParentDirectories; }
            }

            /// <summary>
            /// Gets the user-supplied state object supplied when 
            /// the asynchronous operation was requested.
            /// </summary>
            public object UserState
            {
                get
                { return this.userState; }
            }

            #endregion

            #region Constructor
            /// <summary>
            /// Initializes the CreateFolderBeginEventArgs object.
            /// </summary>
            /// <param name="remoteFolderPath">The location of the folder to be 
            ///  created on remote device.</param>
            /// <param name="createParentDirectories">The flag indicating whether 
            /// non-exisitng parent directories are created.</param>
            /// <param name="userState">The user-supplied state object 
            /// supplied when the asynchronous operation was requested.</param>
            public CreateFolderBeginEventArgs(string remoteFolderPath,
                                              bool createParentDirectories,
                                              object userState)
                : base()
            {
                this.remFolderPath = remoteFolderPath;
                this.createParentDirectories = createParentDirectories;
                this.userState = userState;
            }
            #endregion
        }
    }
}